Skip to content

feat: add agent identity verification tool (ERC-8004)#19

Open
up2itnow0822 wants to merge 1 commit intoNVIDIA:mainfrom
up2itnow0822:feat/agent-identity-tool
Open

feat: add agent identity verification tool (ERC-8004)#19
up2itnow0822 wants to merge 1 commit intoNVIDIA:mainfrom
up2itnow0822:feat/agent-identity-tool

Conversation

@up2itnow0822
Copy link
Contributor

Summary

Adds an agent identity and reputation verification tool using ERC-8004 on-chain identity registries.

As agents interact with other agents (delegating tasks, purchasing services, sharing data), they need a way to verify who they're dealing with before transacting. This tool provides that trust layer.

Tools

verify_agent_identity — Full identity verification pipeline:

  1. Queries the ERC-8004 registry for on-chain identity (ERC-721 token)
  2. Checks reputation score against a configurable threshold
  3. Verifies advertised capabilities match requirements
  4. Detects revoked or expired identities
  5. Returns a TRUST / REJECT / ERROR decision

lookup_agent_reputation — Detailed reputation lookup:

  • Overall score and review counts
  • Category-level scores (accuracy, reliability, speed, cost)
  • Recent feedback entries with comments

Pattern

Same structure as x402_payment_tool:

  • @register_function with FunctionBaseConfig subclass
  • nat.components entry point registration
  • react_agent workflow config with NIM LLM
  • Mock server for e2e testing without blockchain access

Testing

Mock registry server includes 4 test agents:

Agent Status Reputation
0x1234...5678 Registered 87.5/100
0xdead...beef Revoked 12.0/100
0xaaaa...aaaa Expired N/A
0x0000...0000 Not registered N/A

Files

agent_identity_tool/
├── README.md
├── pyproject.toml
├── .gitignore
├── scripts/
│   └── mock_registry_server.py
└── src/nat_agent_identity/
    ├── __init__.py
    ├── register.py
    └── configs/
        └── identity-agent.example.yml

CI

Pre-commit (yapf, ruff, uv-lock, markdown-link-check), Vale, and copyright checks all passing locally.

Relationship to x402_payment_tool

Pairs with the x402 payment tool for trust-then-transact workflows: verify an agent's identity and reputation first, then pay for their service.

Adds an agent identity and reputation verification tool for NeMo Agent
Toolkit using ERC-8004 on-chain identity registries.

Before an agent transacts with or delegates to another agent, this tool:
- Queries the ERC-8004 registry for on-chain identity (ERC-721 token)
- Checks reputation score against a configurable threshold
- Verifies advertised capabilities match requirements
- Detects revoked or expired identities
- Returns a TRUST/REJECT/ERROR decision

Two tools registered via @register_function:
- verify_agent_identity: Full identity + reputation + trust decision
- lookup_agent_reputation: Detailed scores and feedback history

Includes mock registry server with 4 test agents (trusted, revoked,
expired, unknown) for e2e testing without blockchain access.

Pairs with the x402_payment_tool for trust-then-transact workflows:
verify identity first, then pay for services.

Also adds blockchain, subtask, permissionless, counterparty, and lookup
to Vale's accept.txt for Web3/agent terminology.

Signed-off-by: up2itnow0822 <up2itnow0822@users.noreply.github.com>
@copy-pr-bot
Copy link

copy-pr-bot bot commented Mar 21, 2026

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant